<template>
  <div ref="orderTotal" class="bar-echart" />
</template>

<script>
// 引入 echarts 核心模块，核心模块提供了 echarts 使用必须要的接口。
import * as echarts from 'echarts/core'
// 引入柱状图图表，图表后缀都为 Chart
import { BarChart } from 'echarts/charts'
// 引入提示框，标题，直角坐标系，数据集，内置数据转换器组件，组件后缀都为 Component
import {
  TitleComponent,
  TooltipComponent,
  GridComponent,
  DatasetComponent,
  TransformComponent
} from 'echarts/components'
// 标签自动布局，全局过渡动画等特性
import { LabelLayout, UniversalTransition } from 'echarts/features'
// 引入 Canvas 渲染器，注意引入 CanvasRenderer 或者 SVGRenderer 是必须的一步
import { CanvasRenderer } from 'echarts/renderers'

// 注册必须的组件
echarts.use([
  TitleComponent,
  TooltipComponent,
  GridComponent,
  DatasetComponent,
  TransformComponent,
  BarChart,
  LabelLayout,
  UniversalTransition,
  CanvasRenderer
])

export default {
  mounted() {
    // 接下来的使用就跟之前一样，初始化图表，设置配置项
    const myChart = echarts.init(this.$refs.orderTotal)
    myChart.setOption({
      borderRadius: 5, // 统一设置四个角的圆角大小s
      color: new echarts.graphic.LinearGradient(
      // (x1,y2) 点到点 (x2,y2) 之间进行渐变
        0,
        0,
        0,
        1,
        [
          { offset: 0, color: '#fd7371' }, // 0 起始颜色
          { offset: 1, color: '#feada0' } // 1 结束颜色
        ]
      ),
      xAxis: {
        type: 'category',
        data: ['07/01', '07/03', '07/05', '07/07', '07/09', '07/11', '07/13', '07/1']
      },
      yAxis: {
        type: 'value'
      },
      tooltip: {
        trigger: 'item',
        axisPointer: { // 坐标轴指示器，坐标轴触发有效
          type: 'shadow', // 默认为直线，可选为：'line' | 'shadow'
          shadowStyle: {
            color: '#dfdfdf'
          }
        }},
      series: [
        {
          data: [1000, 600, 150, 500, 750, 110, 333, 500, 750, 110, 333, 1000, 600, 150, 500, 750, 110, 333, 500, 750, 110, 333],
          type: 'bar',
          showBackground: true,
          barWidth: '13',
          itemStyle: {
            normal: {
              barBorderRadius: [20]
            }
          }
        }, {
          data: [1000, 600, 150, 500, 750, 110, 333, 500, 750, 110, 333, 1000, 600, 150, 500, 750, 110, 333, 500, 750, 110, 333],
          type: 'bar',
          showBackground: true,
          barWidth: '13',
          itemStyle: {
            normal: {
              barBorderRadius: [20]
            }
          }
        }
      ]
    })
  }
}
</script>

<style>
.bar-echart{
    width: 600px;
    height: 400px;
}
</style>
